﻿/*************************************************************************  
   Name: PluginObj.cs 
   Author: Timothy Ye 
   BLOG: http://www.xiaozhou.net/cooldog
   Version: 1.0
   Last Modify Time:
   Modify Reason:
**************************************************************************/

using System;


namespace Xiaozhou.Plugins
{
    class PluginEntity
    {
        private readonly string pluginName;
        private readonly MarshalByRefObject pluginInstance;
        private readonly string pluginPath;
        private readonly AppDomain pluginDomain;

        public PluginEntity(string name, MarshalByRefObject instance, string path, AppDomain plugindomain)
        {
            pluginName = name;
            pluginInstance = instance;
            pluginPath = path;
            pluginDomain = plugindomain;
        }

        public string PluginName
        {
            get { return pluginName; }
        }

        public MarshalByRefObject PluginInstance
        {
            get { return pluginInstance; }
        }

        public string PluginPath
        {
            get { return pluginPath; }
        }

        public AppDomain PluginDomain
        {
            get { return pluginDomain; }
        }

    }
}
